package com.xiaoshuidi.cloud.module.contract.service.contract.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Description:
 * @author: zhaoyu
 * @date: 2023/8/3
 */
@Data
public class OwnerContractInfoFillDTO {
    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 审核状态
     * pending 待审批  | pass 审批通过 | reject 审批驳回
     */
    private String approveStatus;

    /**
     * 合同状态
     * pending 待审批 | no_signed 待签约 | active 已生效 | normal_end 正常结束 | abnormal_end 非正常结束
     */
    private String contractStatus;

    /**
     * 合同节点
     *  new 新签  | renewal 续约 | rentingOut 退租 | exchange 换房
     */
    private String contractNode;

    /**
     * 签约时间
     */
    private LocalDateTime signedTime;

    /**
     * 业主会员ID
     */
    private Long memberId;

    /**
     * 业主姓名
     */
    private String ownerName;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 证件类型
     */
    private String idType;
    /**
     * 证件号码
     */
    private String idNumber;
    /**
     * 银行卡号
     */
    private String creditCard;
    /**
     * 所属银行
     */
    private String bank;
    /**
     * 所属支行
     */
    private String branchBank;
    /**
     * 持卡人
     */
    private String cardholder;
    /**
     * 纸质合同编号
     */
    private String offlineNo;
    /**
     * 合同开始时间
     */
    private LocalDate startTime;
    /**
     * 合同结束时间
     */
    private LocalDate endTime;
    /**
     * 押金
     */
    private BigDecimal deposit;
    /**
     * 月租金
     */
    private BigDecimal monthRent;
    /**
     * 支付方式 1月付 3季付 6半年付 12年付 其他
     */
    private Integer payMethodF;

    /**
     * 收租类型    advanced提前收租天
     */
    private String rentPayWay;

    /**
     * 提前收租天数
     */
    private Integer advancedDays;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 退租原因
     */
    private String evictionReason;

    /**
     * 退租时间
     */
    private LocalDate evictionTime;

    /**
     * 退租类型
     */
    private String evictionType;

    /**
     * 原业主合同编号
     */
    private Long originalContractId;

    /**
     * 支行省
     */
    private String bankProvince;

    /**
     * 支行市
     */
    private String bankCity;

    /**
     * 支行编码
     */
    private String bankCode;

    /**
     * 续租根合同ID
     */
    private Long rootId;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 合同类型 paper纸质合同 | electronic 电子合同
     */
    private String contractType;

    /**
     * 在线签约状态 signed_party_a 待甲方签约 |signed_party_b 待乙方签约 |signed 已签约
     */
    private String signStatus;

    /**
     * 电子合同编号
     */
    private String electronicNo;

//    /**
//     * 免租期
//     */
//    private List<RentFreePeriodDTO> rentFreePeriod;
//
//    /**
//     * 关联房间
//     */
//    private ContractOwnerRoomRefVO refRoom;
    /**
     * 联系地址
     */
    private String contactAddress;

    /**
     * 行政地址
     */
    private String administrativeAddress;

    /**
     * 期满延期约定
     */
    private Integer extensionAgreement;

    /**
     * 抵押状态
     */
    private Integer mortgageStatus;

    /**
     * 是否可以饲养宠物
     */
    private Integer feedingPet;

    /**
     * 物业是否正规
     */
    private Integer propertyRegular;

    /**
     * 水表户号
     */
    private String watermeterNum;

    /**
     * 水表初始读数
     */
    private String watermeterInitial;

    /**
     * 电表户号
     */
    private String electricitymeterNum;

    /**
     * 电表初始读数
     */
    private String electricitymeterInitial;

    /**
     * 燃气户号
     */
    private String gasNum;

    /**
     * 燃气初始读数
     */
    private String gasInitial;

    /**
     * 消防设备
     */
    private Integer fireDevice;

    /**
     * 供暖方式
     */
    private Integer heatingMethod;

    /**
     * 紧急联系人姓名
     */
    private String emergencyContactName;

    /**
     * 紧急联系人手机号
     */
    private String emergencyContactPhone;


    // ==========================================================================
    /**
     * 签约时间-年
     */
    private String signYear;

    /**
     * 签约时间-月
     */
    private String signMonth;

    /**
     * 签约时间-日
     */
    private String signDay;

    /**
     * 开始时间-年
     */
    private String startYear;

    /**
     * 开始时间-月
     */
    private String startMonth;

    /**
     * 开始时间-日
     */
    private String startDay;

    /**
     * 结束时间-年
     */
    private String endYear;

    /**
     * 结束时间-月
     */
    private String endMonth;

    /**
     * 结束时间-日
     */
    private String endDay;

    /**
     * 合同开始时间
     */
    private String startTimeStr;
    /**
     * 合同结束时间
     */
    private String endTimeStr;
    /**
     * 合同签约时间
     */
    private String signTimeStr;
    /**
     * 首期免租期月数
     */
    private String firstFreeMonthNum;
    /**
     * 每年免租期月数
     */
    private String annuallyFreeMonthNum;
    /**
     * 代收租金起始-年
     */
    private String collectingRentStartYear;
    /**
     * 代收租金起始-月
     */
    private String collectingRentStartMonth;
    /**
     * 代收租金起始-日
     */
    private String collectingRentStartDay;

    /**
     * 共计免租期月数
     */
    private String freeTotalMonthNum;

    /**
     * 免租期
     */
    private String freeRentStr;
}
